<?php

namespace Ensao\AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * Ensao\AppBundle\Entity\Paiement
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Ensao\AppBundle\Entity\PaiementRepository")
 */
class Paiement
{
    /**
     * @var Dossier dossier
     * @ORM\ManyToOne(targetEntity="Ensao\AppBundle\Entity\Dossier")
     * @ORM\JoinColumn(nullable=false)
     */
    protected $dossier;
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var date $dateOperation
     *
     * @ORM\Column(name="dateOperation", type="date")
     * @Assert\NotBlank(message="La DATE ne peut pas etre NULL")
     *  @Assert\Date(message="La DATE est INVALIDE")
     */
    protected $dateOperation;

    /**
     * @var float $montant
     * @Assert\NotBlank(message="Le MONTANT ne peut pas etre NULL")
     * @ORM\Column(name="montant", type="float")
     */
    protected $montant;

    /**
     * @var text $observation
     * @Assert\NotBlank(message="L'OBSERVATION ne paut pas etre NULL")
     * @Assert\MinLength(limit = 3, message="L'OBSERVATION doit faire au moins {{ limit }} caractères")
     * @ORM\Column(name="observation", type="text")
     */
    protected $observation;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set dateOperation
     *
     * @param date $dateOperation
     */
    public function setDateOperation($dateOperation)
    {
        $this->dateOperation = $dateOperation;
    }

    /**
     * Get dateOperation
     *
     * @return date 
     */
    public function getDateOperation()
    {
        return $this->dateOperation;
    }

    /**
     * Set montant
     *
     * @param float $montant
     */
    public function setMontant($montant)
    {
        $this->montant = $montant;
    }

    /**
     * Get montant
     *
     * @return float 
     */
    public function getMontant()
    {
        return $this->montant;
    }

    /**
     * Set dossier
     *
     * @param \Ensao\AppBundle\Entity\Dossier $dossier
     */
    public function setDossier(\Ensao\AppBundle\Entity\Dossier $dossier)
    {
        $this->dossier = $dossier;
    }

    /**
     * Get dossier
     *
     * @return \Ensao\AppBundle\Entity\Dossier
     */
    public function getDossier()
    {
        return $this->dossier;
    }

    /**
     * Set observation
     *
     * @param text $observation
     */
    public function setObservation($observation)
    {
        $this->observation = $observation;
    }

    /**
     * Get observation
     *
     * @return text 
     */
    public function getObservation()
    {
        return $this->observation;
    }
}